# 作者；吴同学
# 2025年 01月 01日 22时 30分 42秒
# 1207570802@qq.com

# 1、多个缺省参数的传递练习，练习多个缺省参数
def practice(name, gender='男', age=18):
    print(f"{name}, {gender}, {age}")

# 2、多值参数练习，元组，字典的传参拆包练习


def numbers(*args):
    for i in args:
        print(i)


def person(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}:{value}")


def person2(name, age, city, country='CN'):
    print(f"Name:{name}, Age:{age}, City:{city}, Country:{country}")

# 3.设计一个类，实例化1个对象，会实现下面两种行为
#
# 需求
# •一只 黄颜色 的 狗狗 叫 大黄
# •具有  汪汪叫 行为
# •具有  摇尾巴 行为


class Dog:
    def __init__(self, color, name):
        self.color = color
        self.name = name

    def bark(self):
        print(f"{self.name} :汪汪汪!")

    def work(self):
        print(f"{self.name} 会摇尾巴!")


if __name__ == '__main__':
    # practice('小吴', '男')
    # practice('小蔡', '女', 17)
    # practice('小林')
    # numbers(1, 2, 3, 4, 5)
    # nums = (10, 20, 30, 40, 50)
    # numbers(*nums)
    # person(name='小蔡', age=18, work='stu')
    # per1 = {'name': '小林', 'age': 25, 'work': 'teacher'}
    # person(**per1)
    # per2 = ('小吴', 20, 'ZZ')
    # add = {"country": "CN"}
    #
    # person2(*per2, **add)
    dog = Dog('黄', '大黄')
    dog.bark()
    dog.work()
